<?php

class PeloterosController extends AppController {

    var $name = 'Peloteros';

    function index() {
        $this->Pelotero->recursive = 0;

        //si vienen filtros aplicados
        if (!empty($this->data)) {

            $datos = $this->data['Pelotero'];
            $filtro = ' deleted = 0 ';

            if (isset($datos['name']) && trim($datos['name']) != '') {
                $filtro .= ' AND Pelotero.name like "%' . $datos['name'] . '%"';
            }
            if (isset($datos['address']) && trim($datos['address']) != '') {
                $filtro .= ' AND Pelotero.address like "%' . $datos['address'] . '%"';
            }

            $this->paginate['order'] = array('Pelotero.name' => 'ASC');
            $resultados = $this->paginate('Pelotero', array($filtro));

            $this->set('peloteros', $resultados);

            //guardo el filtro usado en session para despues recordarlo con el paginate
            $restricciones = array('filter' => $filtro, 'order' => $this->paginate['order']);
            $this->Session->write('search_conditions_peloteros', $restricciones);
        } elseif ($this->Session->check('search_conditions_peloteros')) {

            //si habia algun filtro guardado en session lo tengo que tomar y seguir aplicando el mismo
            //si estoy paginando
            if (isset($this->params['named']['limit']) || isset($this->params['named']['page'])) {
                $restricciones = $this->Session->read('search_conditions_peloteros');

                //si esta acomodando por algun campo en particular
                if (isset($this->params['named']['sort'])) {
                    $this->paginate['order'] = array($this->params['named']['sort'] => $this->params['named']['sort']['direction']);
                } else {
                    //sino sigo aplicando el mismo que ya venia
                    $this->paginate['order'] = $restricciones['order'];
                }
                //si hay que seguir el filtro de empleados
                $resultados = $this->paginate('Pelotero', array($restricciones['filter']));

                $this->set('peloteros', $resultados);
            } else {
                //lo borro de la session
                $filtro = ' deleted = 0 ';
                $this->Session->delete('search_conditions_peloteros');
                $this->paginate['order'] = array('Pelotero.name' => 'ASC');
                $resultados = $this->paginate('Pelotero', array($filtro));
                $this->set('peloteros', $resultados);
            }
        } else {

            //le pongo un filtro por default
            $filtro = ' deleted = 0 ';
            $this->paginate['order'] = array('Pelotero.name' => 'ASC');
            $resultados = $this->paginate('Pelotero', array($filtro));
            $this->set('peloteros', $resultados);
        }
    }

    function view($id = null) {
        if (!$id) {
            $this->Session->setFlash(__('Pelotero Inexistente', true));
            $this->redirect(array('action' => 'index'));
        }
        $this->set('pelotero', $this->Pelotero->read(null, $id));
    }

    function add() {
        if (!empty($this->data)) {
            $this->Pelotero->create();
            if ($this->Pelotero->save($this->data)) {
                $this->Session->setFlash(__('El Pelotero ha sido creado', true));
                $this->redirect(array('action' => 'index'));
            } else {
                $this->Session->setFlash(__('El Pelotero no ha sido creado. Por favor, intente nuevamente.', true));
            }
        }
    }

    function edit($id = null) {
        if (!$id && empty($this->data)) {
            $this->Session->setFlash(__('Pelotero Inexistente', true));
            $this->redirect(array('action' => 'index'));
        }
        if (!empty($this->data)) {
            if ($this->Pelotero->save($this->data)) {
                $this->Session->setFlash(__('El Pelotero ha sido editado', true));
                $this->redirect(array('action' => 'index'));
            } else {
                $this->Session->setFlash(__('El Pelotero no ha sido editado. Por favor, intente nuevamente.', true));
            }
        }
        if (empty($this->data)) {
            $this->data = $this->Pelotero->read(null, $id);
        }
    }

    function delete($id = null) {
        if (!$id) {
            $this->Session->setFlash(__('Pelotero Inexistente', true));
            $this->redirect(array('action' => 'index'));
        }

        $this->Pelotero->id = $id;
        if ($this->Pelotero->saveField('deleted', 1)) {

            $this->Session->setFlash('El Pelotero ha sido eliminado');
            $this->redirect(array('action' => 'index'));
        }
        $this->Session->setFlash('El Pelotero no ha sido eliminado. Por favor, intente nuevamente.');
        $this->redirect(array('action' => 'index'));
    }

}
